package model

import (
	"gorm.io/gorm"
	"time"
)

type ExsExam struct {
	Id                        uint64         `gorm:"column:id;type:bigint UNSIGNED;primaryKey;not null;" json:"id"`
	CreatedAt                 time.Time      `gorm:"column:created_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdatedAt                 time.Time      `gorm:"column:updated_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"`
	DeletedAt                 gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
	TestPaperType             string         `gorm:"column:test_paper_type;type:varchar(255);comment:组卷类型;not null;" json:"test_paper_type"`                             // 组卷类型
	ExamTitle                 string         `gorm:"column:exam_title;type:varchar(255);comment:试卷名称;not null;" json:"exam_title"`                                       // 试卷名称
	ExamType                  string         `gorm:"column:exam_type;type:varchar(255);comment:试卷类型;not null;" json:"exam_type"`                                         // 试卷类型
	ExamDuration              string         `gorm:"column:exam_duration;type:varchar(255);comment:考试时长;not null;" json:"exam_duration"`                                 // 考试时长
	OrderOfTestQuestions      string         `gorm:"column:order_of_test_questions;type:varchar(255);comment:试题排列顺序;not null;" json:"order_of_test_questions"`           // 试题排列顺序
	OrderOfOptionsArrangement string         `gorm:"column:order_of_options_arrangement;type:varchar(255);comment:选项排列顺序;not null;" json:"order_of_options_arrangement"` // 选项排列顺序
	TotalScore                uint64         `gorm:"column:total_score;type:bigint;comment:总分;not null;" json:"total_score"`                                             // 总分
	PassingMark               uint64         `gorm:"column:passing_mark;type:bigint;comment:及格分数;not null;" json:"passing_mark"`                                         // 及格分数
}

func (ExsExam) TableName() string {
	return "exs_exam"
}
